<?php
/**
 * Created by JetBrains PhpStorm.
 * User: HoangAlex
 * Date: 5/29/12
 * Time: 9:21 AM
 * To change this template use File | Settings | File Templates.
 */
class SanPhamsController extends AppController
{
    public $name = 'SanPhams';
    public $helpers = array('Html', 'Paginator', 'Time', 'Ajax', 'Javascript');
    public  $components = array('RequestHandler');
    public $paginate = array(
        'SanPham' => array(
            'limit' => 10,
            'order' => array(
                'SanPham.DONGIABAN' => 'desc'
            )
        ),
    );
    function __upload($file_array){
        $file = new File($file_array['tmp_name']);
        $file_base = pathinfo($file_array['name']);
        $ext = strtolower($file_base['extension']);
        if ($ext != 'jpg' && $ext != 'jpeg' && $ext != 'gif' && $ext != 'png') {
            $this->Session->setFlash('You may only upload image files.');
            $this->render();
        } else {
            $data = $file->read();
            $file->close();
            $full_path = '/upload_images/'.$file_array['name'];
            $file = new File(WWW_ROOT.$full_path, true);
            $file->write($data);
            $file->close();
            return $full_path;
        }
    }
    public function readFile() {

    }
    public function index()
    {
        $this->set('title_for_layout', 'Sản phẩm');
        $this->SanPham->recursive = 1;
        $this->set('sanphams', $this->paginate());
    }

    public function add()
    {
        $this->set('title_for_layout', 'Thêm Sản phẩm');
        if (!empty($this->request->data)) {
            $this->request->data['SanPham']['image'] = $this->__upload($this->data['SanPham']['image']);
            //print_r($this->data['SanPham']['image']);
            $this->SanPham->create();
            $this->request->data['SanPham']['hinhanh'] =$this->data['SanPham']['image'];
            if ($this->SanPham->save($this->request->data)) {
                $this->Session->setFlash('Đã thêm sản phẩm thành công');
                //$this->redirect(array('action' => 'index'), null, true);
            } else {
                $this->Session->setFlash('Không thêm mới được sản phẩm');
            }
        }
        $nhasanxuats = $this->SanPham->NhaSanXuat->find("list", array('fields' => array('NhaSanXuat.id', 'NhaSanXuat.TENNSX')));
        $this->set('nhasanxuats', $nhasanxuats);

        $loaisanphams = $this->SanPham->LoaiSanPham->find("list", array('fields' => array('LoaiSanPham.id', 'LoaiSanPham.TENLSP')));
        $this->set('loaisanphams', $loaisanphams);
    }

    public function edit($id = null)
    {
        if ($this->Session->read('quyen') != 'nhanvien') {
            $this->set('title_for_layout', 'Cập nhật Sản phẩm');
            $this->SanPham->id = $id;
            if ($this->request->is('get')) {
                $this->request->data = $this->SanPham->read();
            } else if ($this->SanPham->save($this->request->data)) {
                $this->Session->setFlash('Đã cập nhật thông tin sản phẩm với id ' . $id);
                $this->redirect(array('action' => 'index'));
            } else {
                $this->Session->setFlash('Cập nhật thất bại');
            }
            $nhasanxuats = $this->SanPham->NhaSanXuat->find("list", array('fields' => array('NhaSanXuat.id', 'NhaSanXuat.TENNSX')));
            $this->set('nhasanxuats', $nhasanxuats);
            $loaisanphams = $this->SanPham->LoaiSanPham->find("list", array('fields' => array('LoaiSanPham.id', 'LoaiSanPham.TENLSP')));
            $this->set('loaisanphams', $loaisanphams);
        } else {
            $this->redirect(array('controller' => '', 'action' => 'index'));
        }
    }

    public function delete($id = null)
    {
        if ($this->Session->read('quyen') == 'quantri') {
            if ($this->request->is('post')) {
                throw new MethodNotAllowedException();
            }
            if ($this->SanPham->delete($id)) {
                $this->Session->setFlash('Thông tin sản phẩm với id ' . $id . ' đã được xóa');
                $this->redirect(array('action' => 'index'));
            }
        } else {
            $this->redirect(array('controller' => '', 'action' => 'index'));
        }
    }

    function update_select()  {
        echo "Đag ơ đâu";
        if(!empty($this->data['SanPham']['nhasanxuat_id'])) {
            $a = "Có giá trị";
            $this->set(compact('a'));
            $this->render('update_select' , 'ajax');
        }

    }
    function admin_process(){
        if (!empty($this->data)) {
            $ids = array();
            foreach($this->data['SanPham']['id'] as $id => $value){
                if($value == 1){
                    $ids[] = $id;
                }
            }
            if (count($ids) == 0) {
                $this->Session->setFlash(__('Không có sản phẩm nào được chọn', true));
                $this->redirect(array('action'=>'index'));
            }
            if($this->SanPham->deleteAll(array('SanPham.id'=>$ids))){
                $this->Session->setFlash(__('Sản phẩm đã được xóa', true));
                $this->redirect(array('action'=>'index'));
            }
        }
    }
}